<?php
/**
 * Created by qinpeizhou.
 * Date: 2018/5/19
 * Time: 19:09
 * Email : 1031219129@qq.com
 */

include_once( dirname(__FILE__).'/../../../../vendor/autoload.php' );
include_once( dirname(__FILE__).'/../../../library/ElasticsearchTools.php' );
class ElasticsearchTestController extends Yaf_Controller_Abstract
{

    /**
     * 创建索引
     */
    public function indexAction(){
        $elastic = new ElasticsearchTools();
        $elastic->index  = 'test_mysql_log';
        $result = $elastic->query('cc_type','huizhoutest');
        echo json_encode($result);
        return false;
    }

    /**
     * 插入索引数据
     */
//    public function insert_dataAction(){
//        $elastic = new Elasticsearch\Client();
//        $index['index'] = 'yaf_index_test'; //索引名称
//        $index['type'] = 'ems_run_log'; //类型名称
//        $index['id'] = 1;   //不指定id，系统会自动生成唯一id
//        $index['body'] = array(
//              'mac' => 'fcd5d900beca',
//              'customer_id' => 3,
//              'product_id' => 5,
//              'version' => 2
//        );
//        $elastic->index($index);
//        echo "插入yaf测试索引数据成功";
//        return false;
//    }

    /**
     * 搜索索引数据   
     *  相当于sql语句：
        select*from ems_run_log where mac=‘fcd5d900beca’
        and product_id = 20 limit 200,10;
     */
//    public function search_dataAction(){
//        $elastic = new Elasticsearch\Client();
//        $index['index'] = 'yaf_index_test'; //索引名称
//        $index['type'] = 'yaf_index_test'; //类型名称
//        $index['body']['query']['bool']['must'] = array(
//            array('match' => array('mac' => 'fcd5d900beca')),
//            array('match' => array('product_id' => 20))
//        );
//        $index['size'] = 10;
//        $index['from'] = 200;
//        $resutl = $elastic->search($index);
//        echo "查询成功 <br/>";
//        var_dump($resutl);
//        return false;
//
//        /**
//        $elastic = new Elasticsearch\Client();
//        $index[‘index’] = ‘yaf_index_test’; //索引名称
//        $index[‘type’] = ‘ems_run_log’; //类型名称
//        $index[‘body’][‘query’][‘bool’][‘must_not’] = array(
//        array(‘match’ => array(‘mac’ => ‘fcd5d900beca’)),
//        array(‘match’ => array(‘product_id’ => 20))
//        );
//        $index[‘size’] = 10;
//        $index[‘from’] = 200;
//        $elastic->search($index);
//
//
//        相当于sql语句：
//        select*from ems_run_log where mac!=‘fcd5d900beca’
//        and product_id != 20 limit 200,10;
//         */
//
//        /** -----------------------------------
//        $elastic = new Elasticsearch\Client();
//        $index[‘index’] = ‘yaf_index_test’; //索引名称
//        $index[‘type’] = ‘ems_run_log’; //类型名称
//        $index[‘body’][‘query’][‘range’] = array(
//        ‘id’ => array(‘gte’ => 20,’lt’ => 30);
//        );
//        $index[‘size’] = 10;
//        $index[‘from’] = 200;
//        $elastic->search($index);
//
//
//        相当于sql语句：
//        select*from ems_run_log where id>=20
//        and id<30  limit 200,10;
//         */
//    }

    /**
     * 删除索引以及数据
     */
//    public function delAction(){
//        $elastic = new Elasticsearch\Client();
//        $index['index'] = 'yaf_index_test';  //索引名称
////        $index['type'] = 'ems_run_log'; //类型名称
////        $index['id'] = 2;
//        $elastic->delete($index);
//        echo "删除yaf测试索引数据成功";
//        return false;
//    }
}
